Sunday, October 30, 2005

Oh, the Humanity!

When examining what happens to computers over time there are certain conditions that always manage to assert themselves. For instance, your computer will get a virus. It will also have to deal with spam in your inbox, 11-year-old wannabe hackers who just learned about TCP ports, and you clicking the mouse in inappropriate places (shame on you!). If you're like the vast majority of home computer users, myself included, your computer will also have to learn to live with Microsoft Windows in some form or another. Egad.

The marriage of Windows and your computer is neither happy nor stable, but it endures much like that funky toenail you've had since high school. You could make it go away but it's a long and tedious process that, in the end, wouldn't be worth the effort you put into it. So it stays. Your computer then starts getting a bit chunky around the hard drive, which quickly develops its own spare tire and seems to be on a diet of mp3s and cream puffs. You then learn, much to your dismay, that you can't install Rock'Em Sock'Em 3D on your computer because it requires 2.5Gb of disk space and the hard drive is sitting at a whopping 99% capacity and can just hold a few more cream puffs before it needs a new tire.

This highlights the first problem with Windows: you purchase hardware to deal with the software, not vice-versa. I'm a Windows software developer, and the .NET environment is so bloated that it would send Richard Simmons into a jazzercise frenzy. It's no wonder that computers are practically catatonic after a year of use -- the behind-the-scenes bloat that a Windows application carries along with it is an anchor. The System32 directory on the PC I'm using right now has 669Mb in 4,195 files. My first PC was an IBM XT-compatible with a 20Mb hard drive. The irony is that I can't install more software on this PC than I could on that one. Why? Because application sizes have grown at the same pace as hard drive technology. When I was in graduate school I thought I had a badass machine because I had a 2Gb hard drive when everyone else had 500Mb. Well, my badass machine couldn't even hold my System32 directory today. Now I have a 250Gb hard drive and I'm certain it will fill up quickly as well, especially when every application these days comes compressed and on multuple CDs.

We then get to the second problem with Windows: it doesn't do a good job of keeping track of what you install, so when you uninstall something pieces of it are usually left behind. Windows uses what are called shared libraries, which is a good idea in theory but can have some problems. Simply put, shared libraries are files on your hard drive containing bits and pieces of the programs you use. Since multiple applications might use one particular chunk of program -- both Word and Outlook allow you to type in text and edit its characteristics, for example -- they're shared between them. Why reinvent the wheel when it already exists? Why have it in two different places when Word and Outlook use the same chunk of program? So the idea is to share it so it physically exists in only one place but several applications can use it. This simple concept is a central design characteristic of Windows -- a design characteristic that has been somewhat less than stellar in its implementation. One problem is that most everyone, Microsoft included, usually dumps these files into the System32 directory and lets them swim around with the thousands of other files in some kind of electronic cesspool. If you check your System32 folder, all of the files ending in .dll (dynamic-link library) are the shared library files. Mine have little green and yellow gears on the icons. Now it tries to remember what files go with what applications, but it just doesn't do a convincingly good job of it. As a result, when you remove an application and it asks you about deleting a DLL it's a crap shoot as to whether something else is using it or not; if you enjoy all of your applications working, you generally answer No and let it remain as a tombstone for the deleted app. So the System32 directory is as much cemetery as it is library...

But wait, there's one more problem with shared libraries: updating. Let's say company XYZ has sold you its application, Buffalo Simulator 1.0. XYZ, thinking that the standard DLL buffalo.dll is not good enough for its application, rewrote it and essentially made a newer version of it. The installer for Buffalo Simulator checked the timestamps of the two buffalo.dll files -- the one on the installation CD was newer than the one in your System32 directory, so it overwrote the one on the hard drive with the newer copy. Woe is you. Because unbeknownst to you, XYZ's buffalo.dll is more of a buffalo chip than anything else. It works fine for Buffalo Simulator but all of the other applications that use it crash because XYZ didn't write the DLL to be backwards-compatible with the older one that got overwritten. You don't think that this has ever happened to you? Have you ever run an application just to find out that it mysteriously didn't work any more? Welcome to DLL Hell.

There are numerous other problems with Windows, but I'll just rant about one more: Windows Update. Oh, the idea of automatic online updates is great if they get it right. Last year Windows XP Service Pack 2 came out and system administrators across the country were dreading it. Tales of crashes, blue screens, unbootable computers, and the like were commonplace. My own PC has many sorrowful tales to tell of Microsoft updates. After I got the system up and running, installed the firewall and virus scanner, and connected to the Internet, Windows Update starting downloading patches for me. I installed them, rebooted, and discovered that winsrv.dll was now a bad file as it bluescreened. I rebooted from the installation CD, repaired the DLL, and rebooted to a working PC. Thank goodness, I thought at the time. I then installed SP2 from a CD I had. My system locked up halfway through the installation process and I'm now going through this process of booting, getting the bad file from the blue screen, rebooting from CD, repairing that file, and booting again to find the next bad file. Break out the margaritas and guacamole, folks -- it's party time! So my home PC is now in a state of flux somewhere in the Twilight Zone.

Now Microsoft is wanting to license its software, Windows included, by yearly subscription. Pay up or we turn ya off, bucko. Paying for this overrated, poorly-implemented software once is bad enough, but to pay for it over and over? Shoot, we do that already whenever we install or uninstall something. BillG can kiss my fat, lumpy...uh, foot. He's already the richest person on the planet -- getting people to pay out the nose even more for his stuff is just plain mean and vindictive. We're the victims, not him.

Oh, the humanity!

Wednesday, October 26, 2005

The World Series

It's been a while since I posted anything here, so what have I been doing with my time? Along with work, weekends, and the like, I've been keeping up with the current World Series championship between the Houston Astros and the Chicago White Sox. Put another way, I've been keeping up with the complete and utter pasting the Astros have been taking for the last three games in a row. The Astros at 0-3? Who would've thought?

It's not that they can't hit. Last night (Game 3) they were consistently getting players on base but just couldn't move 'em on in. The Sox were even worse off because, aside from a miraculous 5th inning, they couldn't hit the ball if it were standing still. So why did they win? Sheer, dumb luck.

I remember the 12th and 13th innings well. Both innings saw the Astros with several base hits but they just couldn't follow through. The Sox were even worse off, acting as if they were batting with firewood. I think everyone was so tired that talent, experience, and the like were out the window. The pitchers could've been heaving pork chops over home plate and the batters would've swung at 'em. It was just sheer luck that the Sox got two runs in the 14th and, of course, the Astros didn't get anyone around the bases again.

I'm definitely proud that my hometown team (the Astros) made it to the Series. I just hope that the Sox won't sweep the Series and everyone remember the 2005 World Series as the one where the Astros were unceremoniously excreted out the back end of the stadium. C'mon guys, give us a game or two for the sake of respectability. We can't let those American League ninnies win like this.

Hope springs eternal...

Tuesday, October 18, 2005

The Amazing Falling Woman

Someone managed to model the physics of the human body pretty decently with this Shockwave web page of a falling woman. Try it out -- if she gets stuck, you can left-click on her and drag her back into the open. Someone here had way too much time on his hands...it must have been a male CS college student because the modeling is good (CS student) and she's in a bikini (male CS student).